import SetCounter from '../methods/SetCounter'
// 默认数据源数据，不能直接修改它
const defaultState = {
  count: 1
}


// reducer纯函数 reducer中不修改state中的数据，只能返回新的state数据 (深拷贝)
// 此参数是一个对象，是通过dispatch发送过来的,一般两个值
/*
// action 动作对应的数据可以为任意数据类型
{type:'动作',payload:mixed}
*/

export default (state = defaultState, action) => {

  const methodName = action.type

  try {
    return SetCounter[methodName](state,action.payload)
  } catch (e) {
    return state
  }
}